<?php

//Gör så att sidan inte sparas i browsern och förvvirrar alla inblandade
header("Cache-Control: no-cache, must-revalidate");

//Startar "session" (Måste komma före all HTML)
session_start();

require_once ("view/HTMLPageView.php");
require_once ("view/HTMLloginView.php");
require_once ("random_string.php");

$pageView = new \view\HTMLPageView();
$loginPageView = new \view\HTMLloginView();

$correctName = "Admin";
$correctPassword = "123";

	//Om man har valt att hålla sig inloggad, dvs det finns cookies
	if (isset($_COOKIE["Name"]) && isset($_COOKIE["Password"])) 
	{
	 /**
	 * 2do - Förhindra manipulering av kakor
	  * Validera kakorna
	 */
		echo $loginPageView -> getLoginPage("Du är inloggad med hjälp av kakor som ", $_COOKIE["Name"], "Inloggad");
	}
	//Om man redan är inloggad, dvs session är satt med namn o lösen
	else if (isset($_SESSION["session_password"])) 
	{
			
		//Validera lösen/namn
		echo $loginPageView -> getLoginPage("Du är inloggad via sessionen ", $_SESSION["session_name"], "Inloggad");
	}
	
	//Om man gör ett inloggningsförsök och det finns input i formulär
	 /**
	 * 2do - Fixa validering på input
	 */
	else if (isset($_POST["Name"]) || ($_POST["Password"])) 
	{
		//sätter namn o lösen efter input i formulär
		$userName = $_POST["Name"];
		$userPassword = $_POST["Password"];
	
		//Om inloggningsuppgifterna är rätt
		if ($userName == $correctName && $userPassword == $correctPassword) 
		{
			//Om man valt att förbli inloggad
			if (isset($_POST["CheckBox"]) && $_POST["CheckBox"] == 'yes') 
			{
					
					$myRandomPassword = new random_string();
					$cookiePassword = $myRandomPassword->createRandomString();
					
				setcookie("Name", $userName, time() + 3600);
				setcookie("Password", $cookiePassword, time() + 3600);
				echo $loginPageView -> getLoginPage("Hej och Välkommen. ", "Vi kommer ihåg dig " . $userName, "Inloggad");
			}
	
			$_SESSION["session_name"] = $userName;
			$_SESSION["session_password"] = $userPassword;
	
			echo $loginPageView -> getLoginPage("Hej och Välkommen. ", "Du är inloggad som " . $userName, "Inloggad");
		} 
		else if ($userName == $correctName && $userPassword != $correctPassword) 
		{
			echo $pageView -> getPage("Fel lösenord och/eller användarnamn.", "Ej Inloggad", $userName);
		} 
		else if ($userName != $correctName && $userPassword == $correctPassword) 
		{
			echo $pageView -> getPage("Fel användarnamn och/eller lösenord.", "Ej Inloggad", $userName);
		} 
		else 
		{
			echo $pageView -> getPage("Fel användaruppgifter. Försök igen!", "Ej Inloggad", null);
		}
	} 
	else 
	{
		header("Location: labb1.php");
	}
